﻿#define _CRT_SECURE_NO_WARNINGS 1
//
//int main()
//{
//	int i = 0;
//	int result = 0;
//	int arr[] = { 6, 9, 4, 2, 3, 5, 7, 0, 1 };
//	int numsSize = 9;
//	for (i = 0; i < numsSize+1; i++)
//		result ^= i^arr[i];
//}

//int main()
//{
//	int nums[] = { 4, 1, 4, 6 };
//	int numsSize = 4;
//	int i = 0;
//	int differentBit = 0;
//	for (i = 0; i < numsSize; i++)
//	{
//		differentBit ^= nums[i];
//	}
//	int one = 1;
//	while (differentBit & one == 0)
//	{
//		one <<= 1;
//	}
//
//	int a1 = 0, a2 = 0;
//	for (i = 0; i < numsSize; i++)
//	{
//		if ((one & nums[i]) == 0)
//		{
//			a1 ^= nums[i];
//		}
//		else
//		{
//			a2 ^= nums[i];
//		}
//	}
//	int* arr = (int*)malloc(sizeof(int)* 2);
//	arr[0] = a1;
//	arr[1] = a2;
//}


//给你一个数组 nums 和一个值 val，你需要 原地 移除所有数值等于 val 的元素，并返回移除后数组的新长度。
//
//不要使用额外的数组空间，你必须仅使用 O(1) 额外空间并 原地 修改输入数组。
//
//元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素


//int removeElement(int* nums, int numsSize, int val)
//{
//	int i = 0;
//	int count = 0;
//	int* pd = nums;
//	int* ps = nums;
//	for (i = 0; i < numsSize; i++)
//	{
//		if (*pd != val)
//		{
//			*ps = *pd;
//			ps++;
//			count++;
//		}
//		pd++;
//	}
//	return count;
//}

//给你一个有序数组 nums ，请你 原地 删除重复出现的元素，使每个元素 只出现一次 ，返回删除后数组的新长度。
//
//不要使用额外的数组空间，你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。
//

//int removeDuplicates(int* nums, int numsSize)
//{
//	int i = 0;
//	int count = numsSize;
//	int* pd = nums;
//	int* ps = nums;
//	if (numsSize <= 1)
//		return numsSize;
//	for (i = 0; i < numsSize; i++)
//	{
//		if (*pd != *ps)
//		{
//			ps++;
//			*ps = *pd;
//		}
//		else
//		{
//			count--;
//		}
//		pd++;
//	}
//	return count + 1;
//}
//
//给你两个有序整数数组 nums1 和 nums2，请你将 nums2 合并到 nums1 中，使 nums1 成为一个有序数组。
//
//初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 的空间大小等于 m + n，这样它就有足够的空间保存来自 nums2 的元素。
//
//void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n)
//{
//	int i = m - 1;//注意下标问题
//	int j = n - 1;
//	int k = m + n - 1;
//	while (i >= 0 && j >= 0)
//	{
//		if (nums1[i] >= nums2[j])
//		{
//			nums1[k] = nums1[i];
//			i--;
//		}
//		else
//		{
//			nums1[k] = nums2[j];
//			j--;
//		}
//		k--;
//	}
//	while (j >= 0)
//	{
//		nums1[k] = nums2[j];
//		j--;
//		k--;
//	}
//}


int main()
{
	int k = 4;
	int i = log10(k);
	return 0;
}
